61b72578c15111480030734222e43ce2211a9a1f,entitybroker/impl/src/java/org/sakaiproject/entitybroker/impl/EntityEncodingManager.java,EntityEncodingManager,translateInputToEntity,#EntityReference#String#InputStream#Map#,146

Before Change


      if (inputable != null) {
         String[] formats = inputable.getHandledInputFormats();
         if ( ReflectUtil.contains(formats, format) ) {
            InputTranslatable translatable = entityProviderManager.getProviderByPrefixAndCapability(prefix, InputTranslatable.class);
            if (translatable == null) {
               // handle internally or fail
               entity = internalInputTranslator(ref, format, input, null);

After Change


             * if it decided not to handle it or none is available then control passes to internal
             */
            try {
               InputTranslatable translatable = (InputTranslatable) entityProviderManager.getProviderByPrefixAndCapability(prefix, InputTranslatable.class);
               if (translatable != null) {
                  // use provider's translator
                  entity = translatable.translateFormattedData(ref, format, inputStream, params);
                  handled = true;
               }
            } catch (FormatUnsupportedException e) {
               // provider decided not to handle this format
               handled = false;
            }
            if (!handled) {
               // use internal translators or fail
               entity = internalInputTranslator(ref, format, inputStream, null);
            }

            if (entity == null) {
               // FAILURE input could not be translated into an entity object
               throw new EntityEncodingException("Unable to translate entity ("+ref+") with format ("
                     +format+"), translated entity object was null", ref+"");
            }
         } else {
            // format type not handled